<?php

use cza\base\widgets\ui\common\grid\GridView;
use yii\helpers\Html;
use yii\helpers\Url;
use cza\base\models\statics\EntityModelStatus;
use cza\base\models\statics\OperationEvent;

/* @var $this yii\web\View */
/* @var $searchModel common\models\c2\search\DeviceSearch */
/* @var $dataProvider yii\data\ActiveDataProvider */

$this->title = Yii::t('app.c2', 'Devices');
$this->params['breadcrumbs'][] = $this->title;
?>
    <div class="well device-index">

        <?php // echo $this->render('_search', ['model' => $searchModel]); ?>

        <?php echo GridView::widget([
            'dataProvider' => $dataProvider,
            'filterModel' => $searchModel,

            'pjax' => true,
            'hover' => true,
            'showPageSummary' => true,
            'panel' => ['type' => GridView::TYPE_PRIMARY, 'heading' => Yii::t('app.c2', 'Items')],
            'toolbar' => [
                [
                    'content' =>
                        Html::a('<i class="glyphicon glyphicon-plus"></i>', ['edit'], [
                            'class' => 'btn btn-success',
                            'title' => Yii::t('app.c2', 'Add'),
                            'data-pjax' => '0',
                        ]) . ' ' .
                        Html::button('<i class="glyphicon glyphicon-remove"></i>', [
                            'class' => 'btn btn-danger',
                            'title' => Yii::t('app.c2', 'Delete Selected Items'),
                            'onClick' => "jQuery(this).trigger('" . OperationEvent::DELETE_BY_IDS . "', {url:'" . Url::toRoute('multiple-delete') . "'});",
                        ]) . ' ' .
                        Html::a('<i class="glyphicon glyphicon-repeat"></i>', Url::current(), [
                            'class' => 'btn btn-default',
                            'title' => Yii::t('app.c2', 'Reset Grid')
                        ]),
                ],
                '{export}',
                '{toggleData}',
            ],
            'exportConfig' => [],
            'columns' => [
                ['class' => 'kartik\grid\CheckboxColumn'],
                ['class' => 'kartik\grid\SerialColumn'],
                [
                    'class' => 'kartik\grid\ExpandRowColumn',
                    'expandIcon' => '<span class="fa fa-plus-square-o"></span>',
                    'collapseIcon' => '<span class="fa fa-minus-square-o"></span>',
                    'detailUrl' => Url::toRoute(['detail']),
                    'value' => function ($model, $key, $index, $column) {
                        return GridView::ROW_COLLAPSED;
                    },
                ],
                //             'id',
                // 'community_id',
                // 'building_number_id',
                // 'unit_id',
                'name',
                // 'type',
                [
                    'attribute' => 'type',
                    'value' => function ($model) {
                        return \common\models\c2\statics\DeviceType::getLabel($model->type);
                    }
                ],
                'status',
                // 'password',
                'remarks',
                [
                    'attribute' => 'status',
                    'class' => '\kartik\grid\EditableColumn',
                    'editableOptions' => [
                        'inputType' => \kartik\editable\Editable::INPUT_DROPDOWN_LIST,
                        'formOptions' => ['action' => Url::toRoute('editColumn')],
                        'data' => EntityModelStatus::getHashMap('id', 'label'),
                        'displayValueConfig' => EntityModelStatus::getHashMap('id', 'label'),
                    ],
                    'filter' => EntityModelStatus::getHashMap('id', 'label'),
                    'value' => function ($model) {
                        return $model->getStatusLabel();
                    }
                ],
                [
                    'class' => '\kartik\grid\ActionColumn',
                    'template' => '{update} {qrcode}',
                    'buttons' => [
                        'update' => function ($url, $model, $key) {
                            return Html::a('<span class="glyphicon glyphicon-pencil"></span>', ['edit', 'id' => $model->id], [
                                'title' => Yii::t('app', 'Info'),
                                'data-pjax' => '0',
                            ]);
                        },
                        'qrcode' => function ($url, $model, $key) {
                            return Html::a('<button class="btn-sm">二维码</button>', ['qr-code', 'id' => $model->id2], [
                                'title' => Yii::t('app', 'Info'),
                                'data-pjax' => '0',
                                'class' => 'qrcode',
                            ]);
                        },
                        // 'qrcode' => function ($url, $model, $key) {
                        //     return Html::button('查看二维码', [
                        //         'title' => Yii::t('app', 'Info'),
                        //         'data-pjax' => '0',
                        //         'class' => 'qrcode',
                        //     ]);
                        // },
                    ]
                ],

            ],
        ]); ?>

    </div>

<?php
\yii\bootstrap\Modal::begin([
    'id' => 'modal1',
    'size' => 'modal-sm',
]);

echo "<div id='id-content'></div>";

\yii\bootstrap\Modal::end();

$js = "";
$js .= "
var qrcode = new QrcodeMin(document.getElementById('id-content'), {
        text: '',
        width: 256,
        height: 256,
    });
";
$js .= "jQuery(document).off('click', 'a.qrcode').on('click', 'a.qrcode', function(e) {
            e.preventDefault();
             var url = jQuery(e.currentTarget).attr('href');
            jQuery.ajax({
                    url: url,
                    success: function(data) {
                        qrcode.clear();
                        qrcode.makeCode(data);
                        jQuery('#modal1').modal('show');
                       
                    },
                    error :function(data){alert(data._meta.message);}
            });
            
            
        });";

$this->registerJs($js);
#jQuery('#content-edit').modal('show').find('.modal-content').html('" . Yii::t('app.c2', 'Loading...') . "').load(jQuery(e.currentTarget).attr('href'));
// if(data._meta.result == '" . cza\base\models\statics\OperationResult::SUCCESS . "'){
//     new QrcodeMin(document.getElementById(\"id-content\"), data.data);
//                             jQuery('#modal1').modal('show');
//                         } else {
//                           alert(data._meta.message);
//                         }
?>